package com.zpb.framework.service;

import com.baomidou.mybatisplus.extension.service.IService;

import com.zpb.framework.domain.ApiResult;
import com.zpb.framework.domain.dto.RoleAddDto;
import com.zpb.framework.domain.dto.RoleChangeStatusDto;
import com.zpb.framework.domain.dto.RoleQueryDto;
import com.zpb.framework.domain.dto.RoleUpdateDto;
import com.zpb.framework.domain.entity.Role;
import com.zpb.framework.domain.vo.PageVo;
import com.zpb.framework.domain.vo.RoleVo;

import java.util.List;

/**
 * @Description:
 * @Author: zhaopengbo
 * @Date: 2025/9/22
 */
public interface RoleService extends IService<Role> {
    ApiResult<PageVo> getRoleList(Integer pageNum, Integer pageSize, RoleQueryDto query);

    ApiResult changeStatus(RoleChangeStatusDto roleChangeStatusDto);

    ApiResult addRole(RoleAddDto roleAddDto);

    ApiResult<RoleVo> getRoleById(Long id);

    ApiResult updateRole(RoleUpdateDto roleUpdateDto);

    ApiResult<List<RoleVo>> getAllRoleList();
}
